<?php

/**
 * 广州浪弛接口
 * 短信服务
 * author:censhuixing
 * time:2014-05-28
 */
class lanz
{

	var $config = array('url'=>'http://www.lanz.net.cn/LANZGateway/DirectSendSMSs.asp',
	'userid'=>'922551',//企业ID
	'username'=>'huiling5',
	'password'=>'79D1F04C4270956F8C0404F206FC2D1ADD3A2F88',
	'sign_message'=>'【幸福】',//签名前置
	);

	function lanz()
	{

	}
	/*
	@param $mobile 要发送的手机号码(群发半角逗号,隔开)
	@param $msg 发送内容*/
	function send_sms($msg='',$mobile='')
	{
		
		$msg = $msg.$this->config['sign_message'];
		$msg =  iconv('UTF-8','GB2312',$msg);
		$msg = urlencode($msg);
		$fields =array(
		'UserID'=>$this->config['userid'],
		'Account'=>$this->config['username'],
		'Password'=>$this->config['password'],
		'SMSType'=>1,
		'Phones'=>$mobile,
		'Content'=>$msg
		);
		$xml = $this->post_curl($this->config['url'],$fields);
		//var_dump($xml);die();
		/*	<?xml version="1.0" encoding="GB2312"?>
		<LANZ_ROOT>
		<ErrorNum>0</ ErrorNum>
		<JobID>2321313130</JobID>
		<PhonesSend>98</PhonesSend>
		<ErrPhones>13855556666;13611112222</ErrPhones>
		</LANZ_ROOT>
		*/
		$xml_obj =  simplexml_load_string($xml);
		$xml_arr =  $this->object2array($xml_obj);

		if($xml_arr['ErrorNum'] == 0 )
		{
			return true;
		}

		else
		{
			$this->log($xml_arr);//失败写入日志
			return false;
		}


	}

	function object2array($object)
	{
		return @json_decode(@json_encode($object),1);
	}

	function post_curl($url, $fields)
	{
		$fields_string ='';
		foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
		rtrim($fields_string ,'&');
		$ch = curl_init();
		// 设置 curl 相应属性
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
		$returnTransfer = curl_exec($ch);
		curl_close($ch);
		return $returnTransfer;
	}

	function log($arr = array())
	{
		if(empty($arr))
		return;

		$arr['time']  = date('Y-m-d H:i:s');//加上时间记录
		$content = "\r";
		$content .= "\$".time()."= " . var_export($arr, true) . ";\r\n";
		$dir =   date('Y-m-d');
		$file = ROOT_PATH.'/log/sendsms/'.$dir.'.log';//绝对路径
		file_put_contents($file,$content,FILE_APPEND);

	}

	function error_message($ErrorNum)
	{
		/*1000：当前用户已经登录
		1001：当前用户没有登录
		1002：登录被拒绝（一般是账号和密码错误了）
		2001：短信发送失败
		2002：短信库存不足
		2003：存在无效的手机号码
		2004：短信内容包含禁用词语
		3001：没有要接收的短信
		3002：没有要接收的回复状态
		9001：JobID参数不符合要求
		9002：SendDate或SendTime参数不是有效日期
		9003：短信内容长度超过300(短信内容为空也会报这个错误)
		9004：参数不符合要求
		9099：其它系统错误；*/

	}

	//测试手机
	function send_test_mobile($content='',$mobile='')
	{
		if(empty($content) OR empty($mobile))return;
		$ret = $this->send_sms($content,$mobile);
		//$ret = $this->return_str($ret);
		return $ret;
	}


}





?>